<?php

class Util {
    /**
     *
     * @return bool true se esta logado e false se não está 
     */
    public static function estaLogado(){
        //TODO verificar como saber se a sessão já está aberta
        if(!isset($_SESSION)){ 
            session_start(); 
        } 
        if(isset ($_SESSION[Usuario::NOME_SESSAO]) && $_SESSION[Usuario::NOME_SESSAO] != null){
            return true;
        }
        return false;
    }
    /**
     *
     * @param String $nomeModulo nome do modulo pro qual está sendo feita a listagem 
     * ex.: usuario, paciente
     * @param int id do gregistro sobre o qual vai ser aplicada a operação
     * @return string 
     */
    public static function htmlOperacoesListagem($nomeModulo, $idRegistro){
        //editar
        $html = "<a href='index.php?modulo=$nomeModulo&acao=".ACAO_EDITAR."&idRegistro=$idRegistro'>";
        $html .= "<img title='Edição do Registro' src='imagens/editar.png'></img>&nbsp; ";
        $html .= "</a>";       
        //excluir
        $html .= "<a href='index.php?modulo=$nomeModulo&acao=".ACAO_EXCLUIR."&idRegistro=$idRegistro'>";
        $html .= "<img  title='Exclusão do Registro' src='imagens/excluir.png'></img>";
        $html .= "</a>";
        
        
//$html .= "<i>";
        return $html;
    }
    
    /**
     * Monta o html de um link para o modulo e a ação informados 
     * 
     * @param unknown_type $nomeModulo
     * @param unknown_type $nomeAcao
     */
    public static function montaLinkFuncao($nomeModulo, $nomeAcao, $textoLink){
    	return "<a href='index.php?modulo=$nomeModulo&acao=$nomeAcao'>$textoLink</a>";
    } 
    /**
     * Extrai campos de formulario que contenham um determinado prefixo
     * Enter description here ...
     * @param unknown_type $formulario um array asociativo onde o nome dos campos que devem ser 
     * extraidos tenham o formato prefixo_nomeDoCampo
     * @param unknown_type $prefixo o prefixo dos campos que devem ser extraidos
     */
    public static function extraiCamposForm($formulario, $prefixo = "campoForm_"){
        $arrayCampos = array();
        foreach ($formulario as $key => $value) {
        	//se o campo do formulario contem o prefixo informado
            if(substr($key, 0, strlen($prefixo)) == $prefixo){
                //obtem o nome do campo retirando o prefixo
            	$nomeCampo = substr($key, strlen($prefixo));
        		//atribui ao array associativo de retorno o campo e o seu valor    	
                $arrayCampos[$nomeCampo] = $value;
            }
        }
        return $arrayCampos;
    }
    public static function linkNovo($modulo){
        $html = "<a href=index.php?modulo=$modulo&acao=".ACAO_INCLUIR."></a>";
        return $html;
    }
    public static function htmlBotaoNovo($modulo){
        $html = "<a href=index.php?modulo=$modulo&acao=".ACAO_INCLUIR.">";
        $html .= "<button class='btn'>Novo $modulo</button>";
        $html .= "</a>";
        return $html;
    }
    public static function htmlBotaoSair(){
        $html = "<a href=index.php?encerraLogin=true>";
        $html .= "<button class='btn'>Sair</button>";
        $html .= "</a>";
        return $html;
    }
    /**
     * Converte data formato yyyy-mm-dd para dd/mm/yyyy
     * 
     */
     public static function dataBancoParaView($dataFormatoBanco){
         $arrData = explode("-", $dataFormatoBanco);
         $arrData = array_reverse($arrData);
         $dataFormatoView = implode("/", $arrData);
         return $dataFormatoView;
     }
         /**
     * Converte data formato dd/mm/yyyy para yyyy-mm-dd
     * 
     */
     public static function dataViewParaBanco($dataFormatoView){
         $arrData = explode("/", $dataFormatoView);
         $arrData = array_reverse($arrData);
         $dataFormatoBanco = implode("-", $arrData);
         return $dataFormatoBanco;
     }
     /* Converte data formato yyyy-mm-dd para yyyy/mm
     * 
     */
     public static function dataParaPesquisa($dataFormatoView){
         $arrData = explode("/", $dataFormatoView);  
         $dataFormatoPesquisa = $arrData[2]."-".$arrData[1]."%";

         return $dataFormatoPesquisa;
     }
     
     
     /**
      * Verifica se o usuário necessita estar logado para acessar a pagina requerida
      * @param unknown_type $modulo
      * @param unknown_type $acao
      */
     public static function verificaSeNecessitaEstarLogado($modulo, $acao){
     	//se for o modulo de inclusão de usuário, não necessita estar logado
     	if($modulo.$acao == Usuario::NOME_MODULO.ACAO_INCLUIR){
     		return false;
     	}
     	return true;
     }
     
     /**
      *
      * @param type $array
      * @param type $camposString
      * @return transforma o arry em um formato compativel com o JQuery dos graficos 
      */
     public static function formataArrayExibiçãoJQuery($array, $camposString){
		$arrayComAspas = array();
		if($camposString){
			foreach ($array as $item){
				//coloca ' no começo e no final do valor de cada item do array
				$arrayComAspas[] = "'$item'";
			}	
		}
		//junta o array em uma string separada por ,
		return implode(", ", $arrayComAspas);
	}
        
     public static function trataString($str) {
       
        $array1 = array( "á", "à", "â", "ã", "ä", "é", "è", "ê", "ë", "í", "ì", "î", "ï", "ó", "ò", "ô", "õ", "ö", "ú", "ù", "û", "ü", "ç" 
        , "Á", "À", "Â", "Ã", "Ä", "É", "È", "Ê", "Ë", "Í", "Ì", "Î", "Ï", "Ó", "Ò", "Ô", "Õ", "Ö", "Ú", "Ù", "Û", "Ü", "Ç" ); 
        $array2 = array( "a", "a", "a", "a", "a", "e", "e", "e", "e", "i", "i", "i", "i", "o", "o", "o", "o", "o", "u", "u", "u", "u", "c" 
        , "A", "A", "A", "A", "A", "E", "E", "E", "E", "I", "I", "I", "I", "O", "O", "O", "O", "O", "U", "U", "U", "U", "C" ); 
        return str_replace( $array1, $array2, $str); 
    }
    
    public static function htmlRadioButton($name) {
	$i = 0;
        $html = '';
        for ($i=0; $i<6;$i++) {
            $html.= "<input type='radio' name='campoForm_".$name."' value='".$i."' />
            <label for='campoForm_".$i."'><span></span></label>";
        }
        return $html;
    }

}

?>